/**   
 * @Title: AbstractBaseAdminController.java 
 * @Package com.gomeplus.frame.cache.controller 
 * @Description: 后台管理的控制器的抽象基础父类 
 * @author chenmin-ds   
 * @date 2017年5月25日 下午12:23:11 
 * @company cn.com.gome
 * @version V1.0   
 */

package com.gomeplus.frame.controller;

import java.util.ArrayList;

import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONObject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @ClassName: AbstractBaseAdminController
 * @Description: 后台管理的控制器的抽象基础父类
 * @author chenmin-ds
 * @date 2017年5月25日 下午12:23:11
 */
public abstract class AbstractAdminController extends AbstractBaseController {

	protected Logger logger = LoggerFactory.getLogger("AbstractAdminController");

	protected String SUCCESS = "success"; // 操作成功

	protected String ERROR = "error"; // 操作失败

	protected String SAVE = "save"; // 保存

	protected String EDIT = "edit"; // 修改

	protected String DEL = "del"; // 删除

	protected String QUERY = "query"; // 查询

	protected String VIEW = "view"; // 展示

	/**
	 * @Title: ajaxJsonMessage
	 * @Description: 开放的信息回写方法
	 * @param response 响应对象
	 * @param info 回写信息
	 * @return boolean 返回类型
	 */
	public boolean ajaxJsonMessage(HttpServletResponse response, String info) {
		return ajax(response, info, "text/html");
	}

	/**
	 * @Title: ajaxJsonMessage
	 * @Description: 开放的信息回写方法 -- 重载方法，增加了两个方法
	 * @param response 响应对象
	 * @param code 错误编码
	 * @param message 提示信息
	 * @param type 操作类型
	 * @return boolean 返回类型
	 */
	public boolean ajaxJsonMessage(HttpServletResponse response, String code, String message, String type) {
		JSONObject jo = new JSONObject();
		jo.put("code", code);
		jo.put("message", message);
		jo.put("type", type);
		return ajax(response, jo.toString(), "text/html");
	}
	
	public boolean ajaxJsonPage(String entity,int total,HttpServletResponse response) {
		String info = "";
		if (total == 0) {
			JSONObject jo = new JSONObject();
			jo.put("code", ERROR);
			jo.put("total", 0);
			jo.put("rows", new ArrayList<Object>());
			jo.put("loadMsg", "系统异常，加载数据失败！");
			info = jo.toString();
		} else {
			JSONObject jo = new JSONObject();
			jo.put("code", SUCCESS);
			jo.put("total", total);
			jo.put("rows", entity);
			info = jo.toString();
		}
		return ajax(response, info, "text/html");
	}
}
